#ifndef ASCIICAESARBREAKER_H
#define ASCIICAESARBREAKER_H

#include <QWidget>

namespace Ui {
    class AsciiCaesarBreaker;
}

class AsciiCaesarBreaker : public QWidget
{
    Q_OBJECT

public:
    explicit AsciiCaesarBreaker(QWidget *parent = 0);
    ~AsciiCaesarBreaker();

public slots:
    void crackDone(char key, QByteArray plain);
private slots:
    void on_open_cypher_clicked();

    void on_open_freq_clicked();

    void on_break_2_clicked();

    void on_cEscape_clicked();

    void on_URLEscape_clicked();

    void on_hex_clicked();

    void on_base64_clicked();

    void on_binaryMode_clicked(bool checked);

    void on_save_clicked();

private:
    Ui::AsciiCaesarBreaker *ui;

    QByteArray alphabet;
    QList<qreal> langFrequencies;
    QList<qreal> textFrequencies;
    bool hasLoadedFreqs;
};

#endif // ASCIICAESARBREAKER_H
